1) Field of the Invention
The present invention relates to a technology for coding bit data for individual bit planes that constitute an electronic image.
2) Description of the Related Art
Nowadays, large-scale integrated circuits (LSIs) are incorporated into every type of electronic appliances ranging from information equipment to cooking equipment. The performance of an LSI sometimes directly influences the value or price of a product into which the LSI is incorporated. It is an important technical object particularly for the LSI incorporated into a digital camera or the like to realize the acceleration of processing rate and the saving of power while processing is targeted to a large amount of image data.
The conventional art has, however, a disadvantage of wasting time and power because of originally unnecessary processings.
FIG. 1A and FIG. 1B schematically show a data structure of an electronic image to be processed by the LSI. As shown in FIG. 1A, each of pixels of the image that consists of horizontal X pixels and vertical Y pixels, is represented by Z pieces of bit data. A group of pieces of bit data for the individual pixels located at the same position (same digit) is referred to as “bit plane”.
As shown in FIG. 1B, if Z is, for example, 8, then a group of the most significant bits (MSB) of the individual pixels is bit plane 7 (=8−1), and a group of the least significant bits (LSB) thereof is bit plane 0 (=8−(8−0)). Each bit data can be expressed by a combination of pixel name and bit plane number, for example, “a7”.
A circuit that subjects the image to image processing, e.g., entropy coding, for each bit plane processes as follows. As shown in FIG. 2, the circuit processes the data of the bit plane 7 of the individual pixels from a pixel “a” located in an upper left corner to a pixel “b” located in a lower right corner, processes the data of the bit plane 6 thereof from “a” to “b” in the same manner, and so on. Namely, the circuit successively processes a plurality of pieces of bit data having the same bit numbers as if the circuit crosses the pixels.
Depending on the type of coding, there is a case where it suffices to know only the bit plane number of a bit plane filled with “0”s on a continual basis and therefore the pieces of data included in the bit plane are not required to be transformed into different codes.
According to JPEG2000 (Joint Photographers Expert Group 2000) entropy coding, for example, only the numbers of bit planes prior to (or having bits more significant than those of) the bit plane in which “1” appears first while scanning the data relative to the planes in an order shown in FIG. 2, are recorded as “0-bit planes” in the header part of an output file. In the body of the file, the bit data in the bit plane in which “1” appears first and in the bit planes posterior to (or having bits less significant than those of) the bit plane are coded and stored.
Therefore, if there is an image that consists of only two pixels “a” and “b” shown in FIG. 2, only the numbers of the bit planes 7 to 5 in upper layer parts filled with “0”s are written in the header of the file. It suffices to know that all the so-called upper bit planes are filled with “0”s, while “0” continues, and therefore it is unnecessary to code the data itself by the circuit. Nevertheless, according to the conventional art, these pieces of data are all supplied to the circuit without making any discrimination, which disadvantageously takes excessively long processing time.
Further, it is normal to perform image processing for each pixel such as wavelet transform and quantization before the image processing for each bit plane is performed. It is noted that processing time required for the former pixel-basis processing corresponds to time for X*Y pixels, while processing time required for the latter bit plane-basis processing corresponds to time for X*Y*Z-bit planes. Generally, the latter processing time is longer than the former processing time, which causes the data to accumulate between the front circuit and the rear circuit, because the data subjected to the former processing is prevented from being entered to the latter processing. This disadvantageously deteriorates efficiency of the overall processing.